Communications systems and particularly wireless communications systems have become relatively more complex and have greater system capacities and higher operating frequencies. There are many more variations in such systems and more adaptations of those systems to provide service to differing user groups. Many of these systems now use communications protocols having variable data rates. For example Code Division Multiple Access (CDMA) systems such as IS-95 or CDMA 2000 uses variable data rate signals to account for such observations as that most people do not talk while they are listening. Thus the transmit data rate can be reduced when the user is listening thereby lowering potential interference for other users and increasing system capacity.
Systems that are now being discussed and deployed such as GPRS, 2.5G and 3G systems are often packet switched rather than circuit switched and most include provisions for variable data rates. These variable data rates allow large data transfers in reasonable time periods when required and when the channel conditions allow. Typically in CDMA systems variable data rates are accommodated by employing different spreading factors. Basically this can be viewed as how many channel symbols or chips a given information symbol is spread over. For example in one CDMA system commonly referred to as wideband CDMA or WCDMA the channel symbol or chip rate is 3.84 million chips per second (Mcps) and spreading factors from 4 to 256 can be used thus enabling data rates or data symbol rates from 960 Kilo symbols per second (Ksps) down to 15 Ksps depending on bandwidth required and channel conditions.
Often the receiving unit for these variable data rate signals does not know the data rate or spreading factor that is being used and must therefore make a blind rate determination before a signal may be properly decoded, etc. This is further complicated where as in one proposed WCDMA system this data rate can be changed with every data frame which has been defined as 10 milliseconds in duration or 38,400 chips. Many of these systems are also taking advantage of more complex antenna structures thus taking advantage of transmitting and thus receiving a signal over multiple paths. The net of all of this is huge quantities of data that must be transported and processed and this is exacerbated in an uplink receiver such as at a base receiver where the receiver may be simultaneously receiving several tens of users. Needless to say this quantity of data and the resultant bandwidth problems can be dramatically reduced by reducing the data at the chip rate to data at an information symbol rate
Various techniques have been used for this blind data rate determination. One basically compares the power for all symbols on a control channel with the power on the data channel. This technique while simple is not accurate except in the case of determining that no signal is present. Another approach is to receive a string of data that is sufficiently large to include a CRC error check code and attempt look for a correct CRC considering each possible spreading factor. While this may work reasonably well given a reasonably stable channel large amounts of data must be buffered and complex computations must be repetitively undertaken until, if ever, a correct CRC is found. Another approach amounts to performing an autocorrelation with each possible symbol stream for each possible spreading factor and choosing the spreading factor that results in the largest autocorrelation over some number of symbols at the highest spreading factor. While it is claimed that this process works it still requires significant amounts of data and a large number of complex calculations before a comparison of each possible spreading factor based signal can be undertaken.
What is needed is a method and apparatus that can efficiently determine a data rate for a variable data rate signal in an expeditious fashion without incurring the problems observed with the prior art.